<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>notas.html</title>

</head>

<body>

<h2>Compilador lenguaje rpc</h2>

<p>Un diminuto lenguaje de pruebas.</p>

<h2>Instrucciones</h2>

<h3>mostrar</h3>

<pre><code>mostrar "texto cualquiera".
mostrar variable.
</code></pre>

<p>similar a <code>print "texto cualquiera"</code>, <code>print var1</code></p>

<h4>Gramatica</h4>

<p>W = {a,..,z,A,..,Z}
vars = {{W},0,..,9,_}
ascii = valores ascii </p>

<pre><code>P:   mostrar X|mostrar V
X-&gt;   "T
T-&gt;  [ascii1]*F
F-&gt;  "FF
V-&gt;  [W][vars]*FF
FF-&gt; .
</code></pre>

<h4>Automata</h4>

<pre><code>   'mostrar '    '"'    [ascii1]*   '"'      '.'
(0)---------&gt;(1)----&gt;(2)--------&gt;(3)----&gt;(4)-----&gt;((5))
               \ [W][vars]*        '.'            ^
                ------------&gt;(6)------------------/
</code></pre>

<h3>Declarar enteros</h3>

<pre><code>entero X=&lt;valor entero&gt;.
</code></pre>

<h4>Gramatica</h4>

<pre><code>P:   entero V
V-&gt;  [W][vars]*I
I-&gt;   = V|= V| =V|=V
V-&gt;  [0-9]*FF
FF-&gt; .
</code></pre>

<h4>Automata</h4>

<pre><code>    'entero '   [W][vars]*      = V|= V| =V|=V     [0-9]*     '.'
(0)---------&gt;(1)------------&gt;(2)----------------&gt;(3)-------&gt;(4)----&gt;((5))
</code></pre>

<h3>Asignar entero</h3>

<pre><code>var = &lt;valor entero&gt;.
</code></pre>

<h4>Gramatica</h4>

<pre><code>P:   [W][vars]*I
I-&gt;   = N| =N|= N|=N
N-&gt;  [0-9]*FF
FF-&gt; .
</code></pre>

<h4>Automata</h4>

<pre><code>   [W][vars]*       = N| =N|= N|=N    [0-9]*      '.'
(0)------------&gt;(1)---------------&gt;(2)------&gt;(3)-----&gt;((4))
</code></pre>

<h3>Incrementar entero 1 unidad</h3>

<pre><code>var++.
</code></pre>

<h4>Gramatica</h4>

<pre><code>P: [W][vars]*'++'
</code></pre>

<h4>Automata</h4>

<pre><code>   [W][vars]*     '++'
(0)-----------&gt;(1)------&gt;((2))
</code></pre>

<h3>Decrementar entero 1 unidad</h3>

<pre><code>var--.
</code></pre>

<h4>Gramatica</h4>

<pre><code>P: [W][vars]*'--'
</code></pre>

<h4>Automata</h4>

<pre><code>   [W]+[vars]*      '--'
(0)------------&gt;(1)-----&gt;((2))
</code></pre>

</body>
</html>
